ImaginaryRelativeOriginDecorator{

	var  <>parent;
	var <maxHeight,<maxRight; 
	
	*new {
		^super.new
	}
	
	bounds{
		^parent.bounds;
	}

	place{|view|		
		view.bounds =  view.bounds.moveBy(this.bounds.left, this.bounds.top)  
	}

}

ImaginaryCompositeView{
	
	var parent, <>bounds, decorator;
	
	*new{|parent, bounds|
		^super.new.init(parent, bounds)
	}
	
	prClose{}
	
	init{|parentArg, boundsArg|
		parent = parentArg;
		bounds = boundsArg;
		parent.add(this);
	}
	
	asView{^parent.asView}
	
	add{|child|
		if (decorator.notNil, { decorator.place(child); });
	}
	
	decorator_{|decoArg|
		decorator = decoArg;
		decorator.parent = this;
	}
	
}
